Vector graphics based document exchange formats, such as a portable document format (PDF), provide a set of rendering instructions that allow documents to be interpreted and displayed to users in a standardized fashion, without requiring a user's computer to have the original software application that the content was created in. MICROSOFT® created XML Paper Specification (XPS) as a vector graphics based document format to allow XML content to be rendered in a standardized and meaningful way. One problem with vector graphics based documents is that viewing applications may know very little about the real content of a particular document except for how to render it correctly. For example, the viewing application may have no idea that the content of the document includes one or more tables.
Tables are widely used in documents because they can deliver large amounts of information in ways that are easier to read and understand than plain text. The presence of tables in a document presents particular problems when converting vector graphics based documents to more-end-user friendly formats. Viewing applications will have information describing how to draw the table, but they do not necessarily have any information indicating that what they are drawing is a table, so they may be limited in their ability to read or copy the text in the table in a way that is meaningful to the user. The issue of detecting tables is also complicated by the potential presence of nested tables, or tables within tables.